from rest_framework.viewsets import  ModelViewSet
from .models import *
from .serializers import *
from rest_framework.filters import  SearchFilter,OrderingFilter


class AssetsTypeViewSet(ModelViewSet):
    """
        retrieve:
            返回一个资源类型（查）
        list:
            返回资源类型（查）
        create:
            创建资源类型（增）
        delete:
            删除现有的资源类型（删）
        partial_update:
            更新现有资源类型中的一个或多个字段（改：部分更改）
        update:
            更新一资源类型（改：全部更改）
    """
    queryset = AssetsType.objects.all()
    serializer_class = AssetsTypeSerializer
    filter_backends = (SearchFilter,OrderingFilter)


class LocationViewSet(ModelViewSet):
    """
        retrieve:
            返回一个存放地点（查）
        list:
            返回存放地点（查）
        create:
            创建存放地点（增）
        delete:
            删除现有的存放地点（删）
        partial_update:
            更新现有存放地点中的一个或多个字段（改：部分更改）
        update:
            更新存放地点（改：全部更改）
    """
    queryset = Location.objects.all()
    serializer_class = LocationSerializer
    filter_backends = (SearchFilter,OrderingFilter)



class AssetsViewSet(ModelViewSet):
    """
        retrieve: 返回一个资源
        list: 返回所有资源
        create: 创建一个资源
        delete: 删除一个资源
    """
    queryset = Assets.objects.all()
    serializer_class =  AssetsSerializer
    filter_backends = (SearchFilter, OrderingFilter)

    def get_serializer_class(self):
        if self.action == 'list':
            return AssetsSerializer
        return AssetsModifySerializer





